let n = 19
var isHappy = function (n) {
    const map = new Map()
    function gethe(n) {
        let sum = 0
        while (n > 0) {
            sum += (n % 10) ** 2
            n = Math.floor(n / 10)
        }
        return sum
    }
    while (n !== 1 && !map.has(n)) {
        map.set(n, true); // 记录已经出现过的数字，避免无限循环
        n = gethe(n); // 计算下一个数字
    }
    return n === 1

};
console.log(isHappy(n));
